perm filename CODE4.OLD[XX,LCS]2 blob sn#217041 filedate 1976-06-02 generic text, type T, neo UTF8
00100			TITLE ITMSUB
00110		ENTRY ITMSUB
00120		EXTERNAL BM,NOZERO,LINX,ROFF,CENTX,STF,LINES,.COMM.,IFIX
00130		EXTERNAL DAT,RHORZ,CLEFS,PLTR,MIN,POSI,ALF,RDRAW
00140		DEFINE R9
00150	<	.COMM.+=10 >
00160		DEFINE R8
00170	<	.COMM.+=9 >
00175		DEFINE J2
00180	<	.COMM.+3 >
00185		DEFINE J10
00190	<	.COMM.+=31 >
00195		DEFINE J7
00200	<	.COMM.+=28 >
00220	;	00300	      SUBROUTINE ITMSUB
00230	;	00400	      IMPLICIT INTEGER(A-Q,S-Z)
00250	;	00500	      REAL DIS,DISX,HGT,POS,CENTR,STFF,HGT1
00300	;	00600	      COMMON/STF/RSTFAC(-3/4),RSTJ2/MIN/MINI,RMINI
00350	;	00700	      COMMON R2,JA,CENTR,J2,RJQ(20),JQ(16),RE,RF,RG,RH/BM/RA,RC,RJY
00400	;	00800	      COMMON/POSI/STFF(-3/4),JJ2,POS/PLTR/PLT,RHT,DIS
00450	;	00900	      COMMON/ALF/QQ(3),RST7,RST18,R3Q,JY,RD,RX,RW,RJX,RJ,L,K,
00500	;	01000	     1 RJA,YY,DISX,HGT,RZ,INP(53)
00550	;	01100	      COMMON/DAT/RACNT(65),RDOT(17),XAC(7),RNOTE(22),RACCI(22),NACCI(3)
00600	;	01200	      EQUIVALENCE (J3,JQ(1)),(J4,JQ(2)),(J5,JQ(3)),(R5,RJQ(3)),(R11,
00650	;	01300	     1RJQ(9)),(R6,RJQ(4)),(J7,JQ(5)),(J8,JQ(6)),(J9,JQ(7)),(J10,JQ(8))
00700	;	01400	     1,(J11,JQ(9)),(J6,JQ(4)),(R9,RJQ(7)),(R8,RJQ(6)),(R3,RJQ(1))
00750	;	01500	     1 ,(R7,RJQ(5)),(R4,RJQ(2)),(R9,RJQ(7)),(R10,RJQ(8)),(RX3,RJQ(20))
00800	;	01600	      DATA R14/14.54/,RTF/3.0/,RHGT/48.0/,R2HGT/96.0/,RBM/.83/
00850	;	01700	     1,RDBR/ 3.5/,RBR/.33/,RBX/ 7.0/
00900	ITMSUB:	0	;01800	C  RDBR IS SPACER FOR DBL BAR.
00950	;	02000	      RST7=RSTJ2*7.
01000	      	MOVSI 	3,203700
01050	      	FMPR  	3,STF+=8 
01100	      	MOVEM 	3,ALF+3  
01150	;				02100	      RST18=RSTJ2*18.
01200	      	MOVSI 	02,205440
01250		FMPR 2,STF+=8
01300	      	MOVEM 	02,ALF+4 
01350	;				02200	C  TO COMPENSATE FOR NOTE #3 COMING AT POS=0
01400	;				02400	      R3Q=R3
01450	      	MOVE  	02,.COMM.+4    
01500	      	MOVEM 	02,ALF+5         ;	C   NEXT DRAWS STRAIGHT LINES
01550	;				02700	      RD=R4*RST7
01600	      	FMPR  	3,.COMM.+5    
01650	      	MOVEM 	3,ALF+7    
01700	;				02800	      RA=0
01750	      	SETZM 	BM    
01800	;				02900	      RX=RTF*RSTJ2+POS
01850	      	MOVE  	02,[3.0]   
01900	      	FMPR  	02,STF+=8 
01950	      	FADR  	02,POSI+=9   
02000	      	MOVEM 	02,ALF+=8    
02050	;  SOMEDAY ADD < RDIS=1./DIS >  TO REPLACE ALL 1./DIS'S
02100	;				03010	      J10=J10*DIS*RSTJ2
02150		MOVE 4,.COMM.+=31
02200		TLC 4,232000
02250		FADR 4,4
02300		FMPR 4,PLTR+2
02350		FMPR 4,STF+=8
02400		JSA 16,IFIX
02450		JUMP 4
02500	      	MOVEM 	0,J10   
02550	; THICKNESS DEPENDS ON FINAL SIZE FACTOR (DIS) AND STAFF SIZE.(???!!)
02600	;				03100	      IF(J5.EQ.50)GO TO 300
02650	      	MOVEI 	02,62
02700	      	CAMN  	02,.COMM.+=26    
02750	      	JRST  	I300            ;  50 IS FOR CRESC., DECRESC. AND BOXES
02800	;				03300	      IF(R6.NE.0)GO TO 401
02850		SKIPN .COMM.+7
02900		SKIPE .COMM.+=28
02950		JRST I401         ;   IF(J7.NE.0)GO TO 401
03000	;				03500	C  FOR BAR LINES
03050	;				03600	4000  JA=44
03100		MOVEI 	02,54
03150	      	MOVEM 	02,.COMM.+1 ;CODE # IS CHNGD SO BAR LINES WON'T AFFECT MAX. HGT.
03200	;         ↑↑↑↑↑↑↑↑↑ FOR VERTICAL WIGGLE (P6=0, P7=-1)
03250	;				03900	      DBR=0
03300	      	SETZM 	DBR#
03350		MOVE 2,.COMM.+=25	;04000	      IF(J4.LT.1000)GO TO 400
03400	      	CAIGE 2,1750    
03450	      	JRST  	I400  
03500	;  J4=1001 = DBL BAR,  =1401 = DBL BAR WITH RT. ONE HEAVY: J5=1=DOTS ADDED
03550	;				04500	      DBR=J4/1000
03600	      	IDIVI 	02,1750
03650	      	MOVEM 	02,DBR   
03700	
03750		MOVEM 3,.COMM.+=25       ;	04600	      J4=J4-DBR*1000
03800	;				04700	C DBR=1 HEAVY BAR IS ON R
03850	;				04800	9400  RD=RDBR+RDBR*RSTJ2
03900	I9400:	MOVE  	1,[3.5]  
03950	      	FMPR  	1,STF+=8 
04000	      	FADR  	1,[3.5]  
04050	      	MOVEM 	1,ALF+7         ;  TO SPACE THIN BAR FROM HEAVY
04100	;				05000	      IF(J5.EQ.0)GO TO 400
04150	      	MOVE  	02,.COMM.+=26    
04200		JUMPE 2,I400
04250	;				05100	C  NEXT ADDS REPEAT DOTS TO DBL BAR.
04300	;				05200	      L=J4
04350	      	MOVE  	3,.COMM.+=25    
04400	      	MOVEM 	3,ALF+=12     
04450	;				05300	      RJ=L/100
04500	      	IDIVI 	3,144
04550		TLC 3,232000
04600		FADR 3,3	     ;	      IF(RJ.EQ.0)RJ=6.*RSTJ2
04650	      	JUMPN 	3,.+3    
04700	      	MOVSI 	3,203600
04750	      	FMPR  	3,STF+=8 
04800	      	MOVEM 	3,ALF+=11        ; HEAVY BAR WILL BE 5 LINES WIDE.
04900	      	MOVE  	.COMM.+4    ;	05600	      RZ=R3
04975	      	MOVEM  ALF+=18    ;	05700	      J4=0
05050	      	SETZM 	.COMM.+=25      ;  MUST BE 0 FOR DOTS IN 'NOTWRT'
05150	      	SKIPE DBR	   	; J5 IS IN 2 YET!
05160		JRST .+4	     ;	05900	      IF(DBR.EQ.0)DBR=J5
05200	;;;	MOVE 2,.COMM.+=26
05210		CAIL 2,4	;IF(J5.GT.3)J5=3   -- CATCHES TYPOS!
05220		MOVEI 2,3
05250	      	MOVEM 	02,DBR   	;IF(DBR.EQ.0)=J5
05300	;				06000	      J5=0
05350	      	SETZM .COMM.+=26        ; J5=1 RPT ↑, =2 RPT ↑, =3 RPT ↑
05450	      	FSC   	1,1		;06200	      RJA=RD*2.
05500	      	MOVEM 	1,ALF+=14   
05550	;6300 TO SPACE DOTS, NOT ACCURATE FOR VERY SMALL OR VERY LARGE SIZE FACTORS
05600		MOVEM 2,ALF+6    ;	06400	      JY=DBR
05700		CAIGE 2,2     ;		06500	      IF(DBR.LT.2)GO TO 8400
05750	      	JRST  	I8400 
05850	      	FADR  	3,ALF+=18    ;	06600	      R3=RJA+RJ+RZ
05900	      	FADR  	3,ALF+=14   
05950	      	MOVEM 	3,.COMM.+4    
06050	I7400:	MOVE 11,ALF+=12     ;  06700	7400  DO 3400 K=J2,MOD(L,100)+J2-1
06100		IDIVI 11,=100
06150		ADD 12,.COMM.+3
06200		SOJ 12,		;  12 IS LIMIT
06250	      	MOVE  	15,.COMM.+3
06350	I4:   	MOVE  	02,STF+3(15)	;06800	      RSTJ2=RSTFAC(K)
06400	      	MOVEM 	02,STF+=8 
06450	;				06900	      POS=STFF(K)
06500	      	MOVE  	02,POSI+3(15)
06550	      	MOVEM 	02,POSI+=9   
06600	;				07000	      R4=6
06650	      	MOVSI 	02,203600
06700	      	MOVEM 	02,.COMM.+5    
06750	;				07100	      CALL CENTX
06800	      	JSA   	16,CENTX 	;7200	C  SPACES DOTS OUT FROM BAR
06850	;07300	      CALL RDRAW(1,17.0,ALF+7OT,STF+=8,.COMM.+4,CENTR+RSTJ2,STF+=8)
06900	      	MOVE  	11,STF+=8 
06950	      	FADR  	11,.COMM.+2
07000	      	JSA   	16,RDRAW 
07050	      	JUMP [1]
07100	      	JUMP [17.0]
07150	      	JUMP DAT+=65  
07200	      	JUMP STF+=8 
07250	      	JUMP .COMM.+4    
07300	      	JUMP  11   
07350	      	JUMP STF+=8 		;7400	C  GO GET THE DOT
07400	;				07500	      R4=8
07450	      	MOVSI 	02,204400
07500	      	MOVEM 	02,.COMM.+5    
07550	;				07600	      CALL CENTX
07600	      	JSA   	16,CENTX 
07650	;07700	3400  CALL RDRAW(1,17.0,ALF+7OT,STF+=8,.COMM.+4,CENTR+RSTJ2,STF+=8)
07700	I3400:	MOVE  	11,STF+=8 
07750	    	FADR  	11,.COMM.+2
07800	      	JSA   	16,RDRAW 
07850		JUMP [1]
07900		JUMP [17.0]
07950		JUMP DAT+=65
08000		JUMP STF+=8 
08050		JUMP .COMM.+4
08100		JUMP 11      
08150		JUMP STF+=8  
08200		CAMGE 15,12
08250		AOJA 15,I4
08300		SOS 2,ALF+6	;  JY=JY-1
08350		CAIGE 2,2	; IF(JY.LT.2)GO TO 4400
08400		JRST I4400
08450	I8400:	MOVE 3,STF+=8
08500		FSC 3,2
08550		FADR 3,ALF+=14      ; R3=RZ-RJA-4.*RSTJ2
08600	      	FSBR  	3,ALF+=18   
08650		MOVNM 3,.COMM.+4
08700	;				08100	      GO TO 7400
08750	      	JRST  	I7400 		;8200	C  DO I NEED ANY MORE RESETS????
08800	;				08300	4400  J4=L
08850	I4400:	MOVE  	02,ALF+=12     
08900	      	MOVEM 	02,.COMM.+=25    
08950	;				08400	      J7=RJ*DIS
09000	      	MOVE  	02,PLTR+2
09050	      	FMPR  	02,ALF+=11    
09100	      	JSA   	16,IFIX  
09150	      	JUMP 2
09200	      	MOVEM 	00,.COMM.+=28    
09250		JRST I5400       ;	08500	      GO TO 5400
09300	;				08600	400   IF(J5.NE.0)GO TO 9400
09350	I400: 	MOVE  	02,.COMM.+=26    
09400	      	JUMPN 	02,I9400 
09450	;				08700	      K=J4/100
09500	      	MOVE  	4,.COMM.+=25    
09550	      	IDIVI 	4,144
09600	;;??? 	MOVEM 	4,ALF+=13     
09650	;8800	C  K IS FOR SPACING OF THIN BAR IN HEAVY-THIN ORDER
09700		TLC 4,232000		;	08900	      J7=K*DIS
09750		FADR 4,4
09800		FMPR 4,PLTR+2
09850	      	JSA   	16,IFIX  
09900	      	JUMP 4    
09950	      	MOVEM 	00,.COMM.+=28    
10000	;9000	C  J7=NUM OF STROKES -- BASED ON FINAL SIZE FACTOR (DIS)
10050	;				09100	5400  L=MOD(J4,100)
10100	I5400:	MOVE 2,.COMM.+=25
10150	 	IDIVI 2,=100
10200		SKIPN 3      ;		09200	      IF(L.EQ.0)L=1
10250		SKIPA
10300		SOJ 3,     ;		09300	      L=L+J2-1
10350		ADD 3,.COMM.+3
10400		MOVEM 3,ALF+=12
10450	;9400	C J4=401 MAKES 4X THICK BARLINE - ONE STAFF
10500	;				09500	      RA=RTF
10550	      	MOVE  	02,[3.0]   
10600	      	MOVEM 	02,BM    
10650		MOVE 3,ALF+=12
10700		CAIG 3,4      ;		09600	      IF(L.LE.4)GO TO 2400
10750	      	JRST  	I2400 
10800	;				09700	      L=4
10850	      	MOVEI 	3,4
10900	;				09800	      RA=300.
10950	      	MOVSI 	02,211454
11000	      	MOVEM 	02,BM    
11050	;9900	C FOR EXTENDING BARS ABOVE STAFF 4
11100	;				10000	2400  RY=RSTFAC(L)
11150	I2400:	MOVE  	02,STF+3(3)
11200	      	MOVEM 	02,RY#   
11250	;				10100	      RZ=R3Q
11300	      	MOVE  	02,ALF+5   
11350	      	MOVEM 	02,ALF+=18    
11400	;				10200	C  SAVE IT FOR DBL RPT BAR.
11450	;				10300	      RY=STFF(L)+(RA+56.)*RY
11500	      	MOVSI 	02,206700
11550	      	FADR  	02,BM    
11600	      	FMPR  	02,RY    
11650	      	FADR  	02,POSI+3(3)
11700	      	MOVEM 	02,RY    
11750	;				10400	1400  RA=1
11800	I1400:	MOVSI 	02,201400
11850	      	MOVEM 	02,BM    
11900	;				10500	      IF(PLT.GE.0)GO TO 140
11950	      	MOVE  	02,PLTR
12000	      	JUMPGE	02,I140  
12050	
12100	;				10600	      J7=J7+1
12150	      	AOS   	J7    
12200	
12250	;				10700	      RA=1./DIS
12300	      	MOVSI 	02,201400
12350	      	FDVR  	02,PLTR+2   
12400	      	MOVEM 	02,BM    
12450	
12500	;				10800	C  BAR LINES PLOT AS DOUBLE THICKNESS
12550	
12600	;				10900	140   RJX=R3Q
12650	I140: 	MOVE  	02,ALF+5   
12700	      	MOVEM 	02,ALF+=10   
12750	;				11000	42    CALL LINES(R3Q,ALF+=8,3)
12800	I42:  	JSA   	16,LINES
12850	      	JUMP ALF+5   
12900	      	JUMP ALF+=8    
12950	      	JUMP [3]
13000	;				11100	      RJ=-1.
13050	      	MOVN  	02,[1.0]
13100	      	MOVEM 	02,ALF+=11    
13150	;				11200	      RW=RY
13200	      	MOVE  	02,RY    
13250	      	MOVEM 	02,ALF+=9    
13300	;				11300	406   CALL LINES(RJX,RY,2)
13350	I406: 	JSA   	16,LINES 
13400	      	JUMP ALF+=10   
13450	      	JUMP RY    
13500	      	JUMP [2]
13550	;				11400	      IF(J10.EQ.0)GO TO 411
13600	      	MOVE  	02,J10   
13650	      	JUMPE 	02,I411  
13700	;11500	C  P10 WILL THICKEN VERTICAL (OR MOSTLY VERTICAL) LINES.
13750	;				11600	      J7=J10
13800	      	MOVEM 	02,.COMM.+=28    
13850	;				11700	      J10=0
13900	      	SETZM 	.COMM.+=31
13950	;				11800	      RA=1./DIS
14000	      	MOVSI 	02,201400
14050	      	FDVR  	02,PLTR+2   
14100	      	MOVEM 	02,BM    
14150	;				11900	411   IF(J7.GT.0)GO TO 409
14200	I411: 	MOVE  	02,.COMM.+=28    
14250	      	JUMPG 	02,I409  
14300		SKIPG DBR     ;		12000	      IF(DBR.LE.0)RETURN
14350		JRA 16,(16)
14400	;				12100	      RY=RW
14450	      	MOVE  	02,ALF+=9    
14500	      	MOVEM 	02,RY    
14550	;				12300	      RA=RZ-RD
14600	      	MOVN  	02,ALF+7    
14650	      	FADR  	02,ALF+=18    
14700	;				12400	      IF(DBR.NE.1)RA=RJX+RD-1.
14750	      	MOVEI 	3,1
14800	      	CAMN  	3,DBR   
14850	      	JRST  	.+4   
14900	      	MOVN  	02,[1.0]
14950	      	FADR  	02,ALF+7    
15000	      	FADR  	02,ALF+=10    
15050	      	MOVEM 	02,BM    
15100	;				12600	      R3Q=RA
15150	      	MOVEM 	02,ALF+5   
15200	;				12500	      DBR=DBR-2
15250	      	MOVNI 	02,2
15300	      	ADDM  	02,DBR   
15350	;				12700	      GO TO 1400
15400	      	JRST  	I1400 
15450	;				12900	C  FOR 'HEAVY' LINE.
15500	;				13000	409   RJX=RJX+RA
15550	I409: 	MOVE  	02,BM    
15600	      	FADRM 	02,ALF+=10    
15650	;				13100	      CALL LINES(RJX,RY,2)
15700	      	JSA   	16,LINES 
15750	      	JUMP ALF+=10    
15800	      	JUMP RY    
15850	      	JUMP [2]    
15900	;				13200	      J7=J7-1
15950	      	SOS   	J7    
16000	;				13300	      RY=RW
16050	      	MOVE  	02,ALF+=9    
16100		SKIPGE ALF+=11   ;	13400	      IF(RJ)RY=RX
16150		MOVE 2,ALF+=8
16200		MOVEM 2,RY
16250	;				13500	      RJ=-RJ
16300	      	MOVNS 	00,ALF+=11    
16350		JRST I406    ;		13600	      GO TO 406
16400	;13900	C  DRAWS BAR LINES. J4>0 CAUSES FULL LINE.
16450	;				14700	C  FOR CRESC., DECRESC.
16500	I300:	MOVE 2,.COMM.+=8   ;	14800	300   IF(R7.EQ.0)R7=2.3
16550		JUMPG 2,.+7
16600		MOVE 3,[2.3]
16650		JUMPE 2,.+4
16700		CAME 2,[-1.0]
16750		JRST .+3
16800		MOVNS 3
16850		MOVEM 3,.COMM.+=8  ;	14900	      IF(R7.EQ.-1.)R7=-2.3
16900	;				15000	      RA=ABS(R7/2.0)*RST7
16950		MOVM 2,.COMM.+=8
17000	      	FSC   	02,777777
17100	      	FMPR  	2,ALF+3  
17150	      	MOVEM 	2,BM    
17200	;				15100	C   AMOUNT OF SPREAD
17250	;				15200	      RJ=R3Q
17300	      	MOVE  	3,ALF+5   
17350	      	MOVEM 	3,ALF+=11    
17400	;				15300	      RX=RX-RST18+RD
17450	      	MOVN  	02,ALF+4 
17500	      	FADR  	02,ALF+7    
17550	      	FADRM 	02,ALF+=8    
17600	;				15400	      IF(R8.NE.0)GO TO 302
17650	      	MOVE  	02,R8    
17700	      	JUMPN 	02,I302  
17750	;				15500	C  JUMP TO MAKE BOX
17800	;				15600	      R6=RHORZ(R6)
17850	      	JSA   	16,RHORZ 
17900	      	JUMP .COMM.+7
17950	      	MOVEM 	00,.COMM.+7    
18000	;				15700	      IF(R7)GO TO 301
18050	      	MOVE  	02,.COMM.+=8    
18100	      	JUMPL 	02,I301  
18150	;				15800	      RJ=R6
18200	      	MOVEM 	0,ALF+=11    
18250	;				15900	      R6=R3Q
18300	      	MOVEM 	3,.COMM.+7    
18350	;	16000	301   CALL LINX(RJ,ALF+=8+RA,.COMM.+7,ALF+=8)
18400	I301: 	MOVE  	14,BM    
18450	      	FADR  	14,ALF+=8    
18500	      	JSA   	16,LINX  
18550	      	JUMP ALF+=11    
18600	      	JUMP 14
18650	      	JUMP .COMM.+7
18700	      	JUMP ALF+=8    
18750	;				16100	      CALL LINES(RJ,ALF+=8-RA,2)
18800	      	MOVN  	14,BM    
18850	      	FADR  	14,ALF+=8    
18900	      	JSA   	16,LINES 
18950	      	JUMP ALF+=11    
19000	      	JUMP 14
19050	      	JUMP [2]
19100	;16200	 FOR CRESC, DECRESC:4 POS1, STF, HGT, 50, POS1, +OR-N(0=2.3,-1=-2.3)
19150		SKIPGE PLTR	;	16400	      IF(PLT.GE.0)RETURN
19200		SKIPGE .COMM.+=29
19250		JRA 16,(16)
19300	;	16500	C  THIS MAKES ALL CRESC. DBL THICKNESS AT PRINT TIME.
19350	;				16600	      IF(J8)RETURN
19400	;				16700	      RX=RX+1./DIS
19450	      	MOVSI 	02,201400
19500	      	FDVR  	02,PLTR+2   
19550	      	FADRM 	02,ALF+=8    
19600	
19650	;				16800	      J8=-1
19700	      	SETOM .COMM.+=29
19750	;				16900	C FOR DOUBLE THICKNESS
19800	;				17000	      GO TO 301
19850	      	JRST  	I301  
19900	;				17200	302   R8=R8*RST7
19950	I302:	MOVE  	3,ALF+3  
20000	      	FMPRM 	3,.COMM.+=9    
20050	
20100	;				17300	      R9=R9*RST7
20150	      	MOVE  	3,ALF+3  
20200	      	FMPRB 	3,R9    
20300	;				17400	      IF(R9.EQ.0)R9=R8
20350	      	JUMPN 	3,.+3   
20400	      	MOVE  	3,.COMM.+=9    
20450	      	MOVEM 	3,.COMM.+=10    
20500	;				17500	C  R9=0 MAKES SQUARE
20550	;				17600	      R3=R3Q-R8/2.
20600	      	MOVE  	02,.COMM.+=9    
20650	      	FSC   	02,777777
20700	      	FSBR  	02,ALF+5   
20750	      	MOVNM 	02,.COMM.+4    
20800	;				17700	      RX=RX-R9/2.
20850	      	FSC   	3,777777
20900	      	FSBR 	3,ALF+=8    
20950	      	MOVNM 3,ALF+=8    
21000	;				17710	      RY=RX
21050	      	MOVNM 	3,RY    
21100	;				17720	      IF(R11.NE.0)RY=RY+R11*RST7
21150	      	MOVE  	02,.COMM.+=12   
21200	      	JUMPE 	02,.+3   
21250	      	FMPR  	02,ALF+3
21300	      	FADRM 	02,RY    
21350	;				17730	C R11 IS OFFSET FOR PARALLELAGRAM
21400	;				17800	      J10=J10
21450	;				17900	C  DRAWS BOX, CENTER IS IN MIDDLE
21500	;		18000	C  4,POSI+=9,STF,NT#,50,0,0,,SIZ1↑BY NT#S↑,SIZ2
21550	;			18100	1302  CALL LINX(R3,ALF+=8,.COMM.+4+R8,RY)
21600	I1302:	MOVE  	14,.COMM.+4    
21650	      	FADR  	14,.COMM.+=9    
21700	      	JSA   	16,LINX  
21750	      	JUMP .COMM.+4    
21800	      	JUMP ALF+=8    
21850	      	JUMP 14    
21900	      	JUMP RY    
21950	;				18200	      CALL LINES(R3+R8,RY+R9,2)
22000	      	MOVE  	14,.COMM.+4    
22050	      	FADR  	14,.COMM.+=9    
22100	      	MOVE  	13,RY    
22150	      	FADR  	13,.COMM.+=10    
22200	      	JSA   	16,LINES 
22250	      	JUMP 14
22300	      	JUMP 13
22350	      	JUMP [2]
22400	
22450	;				18300	      CALL LINES(R3,ALF+=8+R9,2)
22500	      	MOVE  	14,ALF+=8    
22550	      	FADR  	14,.COMM.+=10    
22600	      	JSA   	16,LINES 
22650	      	JUMP .COMM.+4    
22700	      	JUMP 14
22750	      	JUMP [2]
22800	;				18400	      CALL LINES(R3,ALF+=8,2)
22850	      	JSA   	16,LINES 
22900	      	JUMP .COMM.+4    
22950	      	JUMP ALF+=8    
23000	      	JUMP [2]
23050		SKIPN .COMM.+=31  ;	18500	      IF(J10.EQ.0)RETURN
23100	      	JRA 16,(16)    
23150		SOS .COMM.+=31   ;	18600	      J10=J10-1
23200	;				18700	      RJ=1./DIS
23250	      	MOVSI 	3,201400
23300	      	FDVR  	3,PLTR+2   
23350	      	MOVEM 	3,ALF+=11    
23400	;				18800	      R3=R3-RJ
23450	      	MOVN  	02,ALF+=11    
23500	      	FADRM 	02,.COMM.+4    
23550	;				18900	      R8=R8+RJ+RJ
23600	      	FADR  	3,ALF+=11    
23650	      	FADRM 	3,.COMM.+=9    
23700	;				19000	      RX=RX-RJ
23750	      	FADRM 	02,ALF+=8    
23800	;				19010	      RY=RY-RJ
23850	      	FADRM 	02,RY    
23900	;				19100	      R9=R9+RJ+RJ
23950	      	FADRM 	 3,.COMM.+=10    
24000	;				19200	      GO TO 1302
24050	      	JRST  	I1302 
24100	;				19300	C  TO THICKEN BOXES.
24150	;				19500	1401  R4=2.0
24200	I1401:	MOVSI 	02,202400
24250	      	MOVEM 	02,.COMM.+5    
24300	;				19600	C FOR HEAVY BRACK.
24350		MOVE 2,ALF+3	;	19700	      RA=RST7
24500	      	MOVEM 	02,BM    
24550	;				19800	      RX=RX-RA
24600	      	MOVN  	02,BM    
24650	      	FADRM 	02,ALF+=8    
24700	;				19900	C  THE BOTTOM
24750	;				20000	      L=J4+J2-1
24800	      	MOVNI 	1,1
24850	      	ADD   	1,.COMM.+=25    
24900	      	ADD   	1,J2    
24950	;;    	MOVEM 	02,ALF+=12     
25000	;				20100	      R6=RTF
25050	      	MOVE  	3,[3.0]   
25100		CAIG 1,4	;	20200	      IF(L.LE.4)GO TO 4401
25250	      	JRST  	I4401  
25300		MOVEI 1,4	;	20300	      L=4
25400	;				20400	      R6=300.
25450	      	MOVSI 	3,211454
25550	I4401:	MOVE 2,POSI+3(1)  ;	20500	4401  RA=STFF(L)
25700	      	MOVEM 	02,BM    
25750	;		20600	C SAVE FOR POS. OF BRACK. END ON UPPER STAFF.
25800	;				20700	      RJY=RSTFAC(L)
25850	      	MOVE  	02,STF+3(1)
25900	      	MOVEM 	02,BM+2
25950	;				20800	      RY=RA+R6*RJY+RJY*56.+RJY*RBX
26050	      	FADR  	3,[63.0] 
26100		FMPR 3,BM+2
26150	      	FADR  	3,BM
26200	      	MOVEM 	3,RY    
26250	;				20900	C  THE TOP
26300	;				21000	      R5=9.5
26350	      	MOVSI 	02,204460
26400	      	MOVEM 	02,.COMM.+6    
26450	;				21100	      GO TO 2401
26500	      	JRST  	I2401 
26550	;				21300	C  DASHES
26600	;				21400	401   POS=POS-RST18
26650	I401: 	MOVN  	02,ALF+4 
26700	      	FADRM 	02,POSI+=9   
26750	;				21600	      IF(J7.LE.0)GO TO 407
26800	      	MOVE  	02,.COMM.+=28    
26850	      	JUMPLE	02,I407  
26900		CAIN 2,4	;	21700	      IF(J7.EQ.4)GO TO 1401
26950	      	JRST  	I1401 
27000		CAIE 2,3	;	21800	      IF(J7.NE.3)GO TO 4001
27050	      	JRST  	I4001 
27100	;21900  NEXT IS FOR VARIABLE LARGE BRACKET. P7=3 P10=THICK. P5=HGT P6=P3
27150	;				22000	2401  JA=3
27200	I2401:	MOVEI 	02,3
27250	      	MOVEM 	02,.COMM.+1    
27300	;				22100	      IF(J10.EQ.0)J10=5
27350	      	MOVE  	02,J10   
27400	      	JUMPN 	02,.+3   
27450	      	MOVEI 	02,5
27500	      	MOVEM 	02,.COMM.+=31   
27550	;				22200	C  DEFAULT VALUE FOR THICKNESS =5
27600	;				22300	      R4=R4-RBR
27650	      	MOVN  	02,[0.33]   
27700	      	FADRM 	02,.COMM.+5    
27750	;				22400	      J9=0
27800	      	SETZM .COMM.+=30
27850	;				22500	      J5=35
27900	      	MOVEI 	02,43
27950	      	MOVEM 	02,.COMM.+=26    
28000	;				22600	C  THE NUM FOR THE LITTLE END ITEMS
28050	;				22800	      R6=3
28100	      	MOVSI 	02,202600
28150	      	MOVEM 	02,.COMM.+7    
28200	;				22900	      R7=0
28250	      	SETZM 	.COMM.+=8
28300	;23000	  DOES LOWER ONE FIRST.  ITEM IS IN 'CLEF3.DMD' ON DAT.LCS
28350	;				23100	      IF(J8.NE.2)CALL CLEFS
28400	      	MOVEI 	02,2
28450	      	CAME  	02,.COMM.+=29
28500	      	JSA   	16,CLEFS 
28550	;23200	  P8=1=BOTTOM 1/2 BRACK. ONLY:  =2=TOP 1/2 ONLY:  0=COMPLETE
28600	;				23300	      R4=R5-RBR
28650	      	MOVN  	3,[0.33]   
28700	      	FADR  	3,.COMM.+6    
28750	      	MOVEM 	3,.COMM.+5    
28800	;				23400	      R6=3
28850	      	MOVSI 	02,202600
28900	      	MOVEM 	02,.COMM.+7    
28950	;				23500	      R7=-3
29000	      	MOVNM 	02,.COMM.+=8    
29050	;				23600	C  TURNS IT UPSIDE DOWN.
29100	;				23800	      IF(J7.NE.4)GO TO 3401
29150	      	MOVEI 	02,4
29200	      	CAME  	02,.COMM.+=28    
29250	      	JRST  	I3401 
29300	;				23900	      POS=RA
29350	      	MOVE  	02,BM    
29400	      	MOVEM 	02,POSI+=9   
29450	;				24000	      R4=R4*RJY/RSTJ2
29500	      	FMPR  	3,BM+2
29550	      	FDVR  	3,STF+=8 
29600	      	MOVEM 	3,.COMM.+5    
29650	;24100	   TO ADJUST HEIGHT OF BRACK END WHEN STAVES ARE DIFF. SIZES.
29700	;				24200	3401  IF(J8.NE.1)CALL CLEFS
29750	I3401:	MOVEI 	02,1
29800	      	CAME  	02,.COMM.+=29
29850	      	JSA   	16,CLEFS 
29900	;				24300	      R3Q=R3Q-12.0*RSTJ2
29950	      	MOVSI 	02,204600
30000	      	FMPR  	02,STF+=8 
30050	      	FSBRM 	02,ALF+5   
30100	      	MOVNS 	00,ALF+5   
30150	;				24400	      IF(J7.NE.4)GO TO 407
30200	      	MOVEI 	02,4
30250	      	CAME  	02,.COMM.+=28    
30300	      	JRST  	I407  
30350	;				24500	      J7=0
30400	      	SETZM 	.COMM.+=28
30450	;				24600	      GO TO 140
30500	      	JRST  	I140  
30550	;				24800	4002  J5=4
30600	I4002:	MOVEI 	02,4
30650	      	MOVEM 	02,.COMM.+=26    
30700	;		24900	C FOR CURVY BRACKET.  P6 CAN CHANGE WIDTH.
30750	;				25000	      R8=0
30800	      	SETZM 	.COMM.+=9
30850	;				25100	      J4=J4+J2-1
30900	      	MOVNI 	3,1
30950	      	ADD   	3,.COMM.+3
31000	      	ADDB 	3,.COMM.+=25    
31050	;25200	      R7=(.3136*RSTFAC(J4)+.0056*(STFF(J4)-STFF(J2)))/RSTJ2
31100	      	MOVE  	02,[0.3136]
31150	      	FMPR  	02,STF+3(3)
31200	      	MOVE  	04,POSI  +3(3)
31250	      	MOVE  	03,J2    
31300	      	FSBR  	04,POSI  +3(3)
31350	      	FMPR  	04,[0.0056]
31400	      	FADR  	02,4
31450	      	FDVR  	02,STF+=8 
31500	      	MOVEM 	02,.COMM.+=8    
31550	;25300	 .0056=.0392/7.(THE MAGIC NUM FOR VERT SIZE OF BRACK.) .3136=8*.0392
31600	;25400	  ADD DIST BETWEEN BOTTOM OF STAVES TO HEIGHT OF TOP STAFF
31650	;				25500	      IF(R6.EQ.0)R6=1.+R7/20.
31700	      	MOVE  	3,.COMM.+7    
31750	      	JUMPN 	3,.+4   
31800	      	FDVR  	02,[20.0]
31850	      	FADRI 	02,201400
31900	      	MOVEM 	02,.COMM.+7    
31950	;				25600	      JA=3
32000	      	MOVEI 	02,3
32050	      	MOVEM 	02,.COMM.+1    
32100	;				25700	      R4=2.3
32150	      	MOVE  	02,[2.3]
32200	      	MOVEM 	02,.COMM.+5    
32250	;25800	  BECAUSE BRACK DOESN'T REALLY GO UP FROM 0 ?!?X*↑
32300	;				25900	      CALL CLEFS
32350	      	JSA   	16,CLEFS 
32400	;				26000	      RETURN
32450	      	JRA 16,(16)    
32500	I4001:	CAIN 2,5	;	26200	4001  IF(J7.EQ.5)GO TO 4002
32650	      	JRST  	I4002 	; J7 IS IN AC2
32700	;				26300	      IF(R8.EQ.0)R8=.8
32750	      	MOVE  	02,.COMM.+=9    
32800	      	JUMPN 	02,.+3   
32850	      	MOVE  	02,[0.8]
32900	      	MOVEM 	02,.COMM.+=9    
32950	;				26400	C  P8 CAN SET SIZE OF DASH
33000	;				26402	      RZ=5.96*RSTJ2
33050	      	MOVE  	02,[5.96]
33100	      	FMPR  	02,STF+=8 
33150	      	MOVEM 	02,ALF+=18    
33200	;				26405	      RJ=R8*RZ
33250	      	FMPR  	02,.COMM.+=9    
33300	      	MOVEM 	02,ALF+=11    
33350	;				26410	      RZ=R9*RZ
33400	      	MOVE  	3,.COMM.+=10    
33450	      	FMPRM 	3,ALF+=18    
33500		SKIPN .COMM.+=10   ;	26420	      IF(R9.EQ.0)RZ=RJ
33550	      	MOVEM 	02,ALF+=18    
33600	;26430	  P9 SETS SPACE BETWEEN DASHES. (CAN BE DIFFERENT FROM P8)
33650	;				26440	      R8=RJ
33700	      	MOVEM 	02,.COMM.+=9    
33750	;				26450	      R9=RZ
33800	      	MOVE  	02,ALF+=18    
33850	      	MOVEM 	02,.COMM.+=10    
33900	;				26500	      RD=RD+POS
33950	      	MOVE  	02,POSI+=9   
34000	      	FADRB 	02,ALF+7    
34050	;				26600	      RJX=RD
34100	      	MOVEM 	02,ALF+=10    
34150	;				27100	      RJY=RD
34200	      	MOVEM 	02,BM+2   
34250	;26700	 =1 =DASHES,  P6=P3=VERTICAL; P4=P5=HORIZ.; OTHERWISE SLOPE.
34300	;				26800	      J6=ROFF(RHORZ(R6))
34350	      	JSA   	16,RHORZ 
34400	      	JUMP .COMM.+7
34450	      	MOVE 4,0
34500	      	JSA   	16,ROFF  
34550	      	JUMP 4
34600	      	MOVE 4,0
34650	      	JSA   	16,IFIX  
34700	      	JUMP 4
34750	      	MOVEM 	00,.COMM.+=27    
34800		SUBM 0,.COMM.+=24  ;	26900	      J3=J6-J3
34900	;				27000	      J4=J5-J4
34950	;;      	MOVN  	02,.COMM.+=26    
35000	;;      	ADDM  	02,.COMM.+=25    
35050	;;      	MOVNS 	00,.COMM.+=25    
35060		MOVE 2,.COMM.+=6	;NOW J4=R5-R4 (J4 IS FLTING PT)
35070		FSBR 2,.COMM.+5
35080		MOVEM 2,.COMM.+=25	; CHECKS FOR TILT, USED LATER
35100		MOVE .COMM.+=27   ;	27200	C SAVE FOR THICK LINES
35150		TLC 0,232000     ;	27300	      RA=J6
35200		FADR 0,0
35300	      	MOVEM 	00,BM    ;	27400	C RA IS HORIZ. GOAL FOR DASHES
35400	;				27500	402   RY=POS+R5*RST7
35450	 	MOVE  	02,ALF+3  	; LABEL 402 NOT USED
35500	      	FMPR  	02,.COMM.+6    
35550	      	FADR  	02,POSI+=9   
35600	      	MOVEM 	02,RY    
35650	;				27600	      IF(J4.EQ.0)GO TO 41
35700	      	MOVE  	3,.COMM.+=25    
35750	      	JUMPE 	3,I41   
35800	;				27700	      RH=RY-RD
35850	;				27800	C TOTAL HEIGHT DIFF.
35900	;				27900	      RX=RA-R3
35950	      	MOVN  	3,.COMM.+4    
36000	      	FADR  	3,BM    
36050	      	MOVEM 	3,ALF+=8    
36100	;				28000	C TOTAL LENGTH DIFF.
36150		FSBR 2,ALF+7
36200	;				28100	      RH=RH/RX
36250	      	FDVR  	02,ALF+=8    
36300	      	MOVEM 	02,RH#   
36350	;				28200	41    L=3
36400	I41:  	MOVEI 	02,3
36450	      	MOVEM 	02,ALF+=12     
36500	;				28300	      K=2
36550	      	MOVEI 	02,2
36600	      	MOVEM 	02,ALF+=13     
36650	;				28400	416   CALL LINES(R3Q,ALF+7,ALF+=12)
36700	I416: 	JSA   	16,LINES 
36750	      	JUMP ALF+5   
36800	      	JUMP ALF+7    
36850	      	JUMP ALF+=12     
36900	;				28405	      IF(J3.EQ.0)GO TO 412
36950	      	MOVE  	02,.COMM.+=24    
37000	      	JUMPE 	02,I412  
37050	;				28407	C  JUMP FOR VERT. DASH
37100	;				28410	      IF(J3.GT.0)GO TO 422
37150		MOVE 3,ALF+5	;(R3Q)
37160	  	JUMPG 	02,I422  
37200	;				28420	      IF(R3Q.LE.RA)GO TO 413
37300	      	CAMG  	3,BM    
37350	      	JRST  	I413  
37400	;				28425	C THIS IF P6 IS LESS THAN P3
37450	;				28430	      R3Q=R3Q-RJ
37500	      	MOVN  	02,ALF+=11    
37600	;				28440	      GO TO 423
37650	      	JRST  	I423  
37700	;				28500	422   IF(R3Q.GE.RA)GO TO 413
37800	I422:	 CAML 	3,BM    
37850	      	JRST  	I413  
37900	;				28600	C  JUMP IF ALL DONE
37950	;				28700	      R3Q=R3Q+RJ
38000	      	MOVE  	02,ALF+=11    
38050	I423:    	FADRB 	02,ALF+5   
38100	;				28710	423   IF(J4.NE.0)RD=RJY+RH*(R3Q-R3)
38150	 	MOVE  	3,.COMM.+=25    ; J4 HAS TILT(SEE I402 -)
38200	      	JUMPE 	3,.+5   
38250	      	FSBR  	02,.COMM.+4    
38300	      	FMPR  	02,RH    
38350	      	FADR  	02,BM+2   
38400	      	MOVEM 	02,ALF+7    
38450	;				28720	C  FINDS HEIGHT OF RIGHT SIDE OF SLOPE
38500	;				28800	414   CALL EXCH(L,ALF+=13)
38550	I414:	MOVE 2,ALF+=12
38600		EXCH 2,ALF+=13
38650		MOVEM 2,ALF+=12
38700		MOVE 2,ALF+=11   ;	28810	      CALL EXCH(RJ,ALF+=18)
38750		EXCH 2,ALF+=18
38800		MOVEM 2,ALF+=11
38850	;				28820	C  EXCH. SPACE AND DASH SIZE.
38900	;				28900	      GO TO 416
38950	      	JRST  	I416  
39000	I412:	MOVE 1,ALF+7	;28950	412   IF(J4.GT.0)GO TO 424
39050		MOVE  	02,.COMM.+=25    
39100	      	JUMPG 	02,I424  
39150	;				28960	      IF(RD.LE.RY)GO TO 413
39250	      	CAMG  	1,RY    
39300	      	JRST  	I413  
39350	;				28970	      RD=RD-RJ
39400	      	MOVN  	02,ALF+=11    
39450	      	FADRM 	02,ALF+7    
39500	;				28980	C  THIS IF P5 IS LESS THAN P4.
39550	;				28990	      GO TO 414
39600	      	JRST  	I414  
39650	;				29000	424   IF(RD.GE.RY)GO TO 413
39750	I424:    	CAML  	1,RY    
39800	      	JRST  	I413  
39850	;				29100	C  JUMP IF DONE
39900	;				29200	      RD=RD+RJ
39950	      	MOVE  	02,ALF+=11    
40000	      	FADRM 	02,ALF+7    
40050	;				29300	      GO TO 414
40100	      	JRST  	I414  
40150	;				29400	413   IF(J10.GT.0)GO TO 420
40200	I413: 	MOVE  	02,.COMM.+=31   
40250	      	JUMPG 	02,I420  
40300		SKIPN .COMM.+=32  ;	29410	      IF(J11.EQ.0)RETURN
40350	      	JRA 16,(16)    
40400		SKIPGE .COMM.+=24  ;	29415	      IF(J3)RJ=-RJ
40450	      	MOVNS 	00,ALF+=11    
40500	;				29420	      IF(L.EQ.3)R3Q=R3Q-RJ
40550	      	MOVEI 	02,3
40600	      	CAME  	02,ALF+=12     
40650	      	JRST  	.+3   
40700	      	MOVN  	02,ALF+=11    
40750	      	FADRM 	02,ALF+5   
40800	;				29430	      RX=R8
40850	      	MOVE  	02,.COMM.+=9    
40900	      	MOVEM 	02,ALF+=8    
40950		SKIPGE .COMM.+=32  ;	29440	      IF(J11)RX=-RX
41000	      	MOVNS 	00,ALF+=8    
41050	;			29450	      CALL LINX(R3Q,ALF+7,ALF+5,ALF+7+RX)
41100	      	MOVE  	14,ALF+7    
41150	      	FADR  	14,ALF+=8    
41200	      	JSA   	16,LINX  
41250	      	JUMP ALF+5   
41300	      	JUMP ALF+7    
41350	      	JUMP ALF+5   
41400	      	JUMP 14
41450	;		29460	C PUTS BRACK END ON DASHED LINE. (P11=1 OR -1)
41500	;				29470	      RETURN
41550	      	JRA 16,(16)    
41600	;				29500	C  NEXT FOR THICK DASHES
41650	;				29600	420   J10=J10-1
41700	I420: 	SOS   	.COMM.+=31
41750	;				29650	      RJ=1./DIS
41800	      	MOVSI 	3,201400
41850	      	FDVR  	3,PLTR+2   
41950	;				29700	      IF(J3.EQ.0)GO TO 415
42000	      	MOVE  	02,.COMM.+=24    
42050	      	JUMPE 	02,I415  
42100	;				29800	      R3Q=R3
42150	      	MOVE  	02,.COMM.+4    
42200	      	MOVEM 	02,ALF+5   
42250	;				29900	      RJY=RJY+RJ
42350	      	FADRB 	3,BM+2   
42400	;				29950	      RD=RJY
42450	      	MOVEM 	3,ALF+7    
42500	;				30000	      GO TO 417
42550	      	JRST  	I417  
42600	;				30100	415   R3Q=R3Q+RJ
42700	I415: 	FADRM 	3,ALF+5   
42750	;				30200	      RD=RJX
42800	      	MOVE  	02,ALF+=10   
42850	      	MOVEM 	02,ALF+7    
42900	;				30210	417   RJ=R8
42950	I417: 	MOVE  	02,.COMM.+=9    
43000	      	MOVEM 	02,ALF+=11    
43050	;				30220	      RZ=R9
43100	      	MOVE  	02,.COMM.+=10    
43150	      	MOVEM 	02,ALF+=18    
43200	;				30230	C  FOR THICK DASHES.
43250	;				30300	      GO TO 41
43300	      	JRST  	I41   
43350	;				30600	407   RX=RD+POS
43400	I407: 	MOVE  	02,ALF+7    
43450	      	FADR  	02,POSI+=9   
43500	      	MOVEM 	02,ALF+=8    
43550	;				30700	      RY=R5*RST7+POS
43600	      	MOVE  	02,ALF+3  
43650	      	FMPR  	02,.COMM.+6    
43700	      	FADR  	02,POSI+=9   
43750	      	MOVEM 	02,RY    
43800		MOVE 3,.COMM.+=28  ;	30800	      IF(J7.EQ.3)GO TO 140
43850		CAIN 3,3
43900	      	JRST  	I140  
43950	;				30900	      CALL NOZERO(R9)
44000	      	JSA   	16,NOZERO
44050	      	JUMP .COMM.+=10
44100		CAMN 3,[-1]   ;		31000	      IF(J7.EQ.-1)GO TO 408
44150	      	JRST  	I408  
44200	;	31100	C  FOR 'TR' J7=-2, 'ARPEGG' J7=-1,  STRAIGHT LINES J7=0
44250	;	31200	CC  WHY THE IFIX????	RJX=IFIX(RHORZ(R6))
44300	;				31300	      RJX=IFIX(ROFF(RHORZ(R6)))
44350	      	JSA   	16,RHORZ 
44400	      	JUMP .COMM.+7
44450		MOVE 4,
44500	      	JSA   	16,ROFF  
44550		JUMP 4
44600		MOVE 4,
44650	      	JSA   	16,IFIX  
44700		JUMP 4
44750		TLC 0,232000
44800		FADR 0,0
44850	      	MOVEM 	00,ALF+=10   
44900	;31400	C  ALL THIS CRAP SO IT WILL MATCH UP WITH P3 WHEN NECESSARY.
44950	;				31500	      IF(J7.EQ.0)GO TO 42
45000	      	MOVE  	02,.COMM.+=28    
45050	      	JUMPE 	3,I42   
45100	;				31600	      RY=R9*RST7+RX
45150	      	MOVE  	02,ALF+3  
45200	      	FMPR  	02,.COMM.+=10    
45250	      	FADR  	02,ALF+=8    
45300	      	MOVEM 	02,RY    
45350	;				31700	      CALL NOZERO(R8)
45400	      	JSA   	16,NOZERO
45450	      	JUMP .COMM.+=9
45500	;				31800	4041  RZ=RX
45550	I4041:	MOVE  	02,ALF+=8    
45600	      	MOVEM 	02,ALF+=18    
45650	;				31900	      RH=RY
45700	      	MOVE  	14,RY    
45750	      	MOVEM 	14,RH    
45800	;				32000	C  SAVE FOR THICK WIGGLES
45850	;				32100	      CALL LINES(R3Q,ALF+=8,3)
45900	      	JSA   	16,LINES 
45950	      	JUMP ALF+5   
46000	      	JUMP ALF+=8    
46050	      	JUMP [3]
46100	;				32200	C  DRAWS STRAIGHT LINES. ETC.
46150	;				32300	      R9=R3Q
46200	      	MOVE  	02,ALF+5   
46250	      	MOVEM 	02,.COMM.+=10    
46300	;				32400	      RJ=RY
46350	      	MOVEM 	14,ALF+=11    
46400	;				32500	      RW=3.*RSTJ2*R8
46450	      	MOVSI 	02,202600
46500	      	FMPR  	02,STF+=8 
46550	      	FMPR  	02,.COMM.+=9    
46600	      	MOVEM 	02,ALF+=9    
46650	;				32600	      RA=RW*2.5
46700	      	MOVSI 	02,202500
46750	      	FMPR  	02,ALF+=9    
46800	      	MOVEM 	02,BM    
46850	;			32700	C  P8=HORZ. WIGGLE SIZE;  P9=VERT. SIZE
46900	;				32800	404   R9=R9+RA
46950	I404: 	MOVE  	02,BM    
47000	      	FADRM 	02,.COMM.+=10    
47050	;				32900	      CALL LINES(R9,ALF+=11,2)
47100	      	JSA   	16,LINES 
47150	      	JUMP .COMM.+=10
47200	      	JUMP ALF+=11    
47250	      	JUMP [2]
47300	;				33000	      R9=R9+RW
47350	      	MOVE  	14,ALF+=9    
47400	      	FADRB 	14,.COMM.+=10    
47450	;				33100	      CALL LINES(R9,ALF+=11,2)
47500	      	JSA   	16,LINES 
47550	      	JUMP .COMM.+=10
47600	      	JUMP ALF+=11    
47650	      	JUMP [2]
47700	I405:	MOVE ALF+=8  ;		33200	405   CALL EXCH(RX,ALF+=11)
47750		EXCH ALF+=11
47800		MOVEM ALF+=8
47850		CAMGE 14,ALF+=10  ;	33300	      IF(R9.LT.RJX)GO TO 404
47900	      	JRST  	I404  
47950		SKIPG .COMM.+=31   ;	33400	      IF(J10.LE.0)RETURN
48000	      	JRA 16,(16)    
48050	;				33450	      RY=1./DIS
48100	      	MOVSI 	02,201400
48150	      	FDVR  	02,PLTR+2   
48200	      	MOVEM 	02,RY    
48250	;				33500	      RX=RZ+RY
48300	      	FADR  	02,ALF+=18
48350	      	MOVEM 	02,ALF+=8    
48400	;				33600	      RY=RH+RY
48450	      	MOVE  	02,RH    
48500	      	FADRM 	02,RY    
48550		SOS .COMM.+=31   ;	33700	      J10=J10-1
48600	;				33800	      GO TO 4041
48650	      	JRST  	I4041 
48700	;			33900	C  P10= + NUM OF THICKNESSES TO WIGGLE
48750	;				34100	408   IF(RX.GT.RY)CALL EXCH(RX,RY)
48800	I408: 	MOVE  	02,ALF+=8    
48850		CAMLE 2,RY
48900		EXCH 2,RY
48950		MOVEM 2,ALF+=8
49000	;				34200	      RZ=R9*RSTJ2*5.96
49050	      	MOVE  	02,STF+=8 
49100	      	FMPR  	02,.COMM.+=10    
49150	      	FMPR  	02,[5.96]
49200	      	MOVEM 	02,ALF+=18    
49250	;		34300	C  USE P9 TO SET WIGGLE WIDTH.  P8 TO SET HGT.
49300	;				34400	      CALL NOZERO(R8)
49350	      	JSA   	16,NOZERO
49400	      	JUMP .COMM.+=9
49450	;				34500	      RD=R8*RST7*.5
49500	      	MOVE  	02,ALF+3  
49550	      	FMPR  	02,.COMM.+=9    
49600	      	FSC   	02,777777
49650	      	MOVEM 	02,ALF+7    
49700	;				34600	      RJ=RD
49750	      	MOVEM 	02,ALF+=11    
49800	;				34700	      IF(RD.LT.1.)RD=1.
49850	      	MOVSI 	02,201400
49900	      	CAMLE 	02,ALF+7    
49950		MOVEM 2,ALF+7
50000	;				34800	421   R9=RX
50010	I421: 	MOVE  	02,ALF+=8    
50050	      	MOVEM 	02,.COMM.+=10    
50100	;				34900	      RW=R3Q
50150	      	MOVE  	02,ALF+5   
50200	      	MOVEM 	02,ALF+=9    
50250	;				35000	      RA=RZ+R3Q
50300	      	FADR  	02,ALF+=18    
50350	      	MOVEM 	02,BM    
50400	;				35100	CALL LINES(RW,.COMM.+=10,3)
50450	      	JSA   	16,LINES 
50500	      	JUMP ALF+=9
50550	      	JUMP .COMM.+=10
50600	      	JUMP [3]
50650	;				35200	410   R9=R9+RJ
50700	I410: 	MOVE  	02,ALF+=11    
50750	      	FADRM 	02,.COMM.+=10    
50800	;				35300	      CALL LINES(RA,.COMM.+=10,2)
50850	      	JSA   	16,LINES 
50900	      	JUMP BM    
50950	      	JUMP .COMM.+=10
51000	      	JUMP [2]
51050	;				35400	      R9=R9+RD
51100	      	MOVE  	02,ALF+7    
51150	      	FADRM 	02,.COMM.+=10    
51200	;				35500	      CALL LINES(RA,.COMM.+=10,2)
51250	      	JSA   	16,LINES 
51300	      	JUMP BM    
51350	      	JUMP .COMM.+=10
51400	      	JUMP [2]
51450		MOVE BM		;	35600	      CALL EXCH(RA,ALF+=9)
51500		EXCH ALF+=9
51550		MOVEM BM
51600	;				35700	      IF(R9.LT.RY)GO TO 410
51650	      	MOVE  	02,RY    
51700	      	CAMLE 	02,.COMM.+=10    
51750	      	JRST  	I410  
51800		SKIPG .COMM.+=31    ;	35800	      IF(J10.LE.0)RETURN
51850	      	JRA 16,(16)    
51900	;				35900	      R3Q=R3Q+1./DIS
51950	      	MOVSI 	02,201400
52000	      	FDVR  	02,PLTR+2   
52050	      	FADRM 	02,ALF+5   
52100		SOS .COMM.+=31    ;	36000	      J10=J10-1
52150		JRST I421	;	36100	      GO TO 421
52200	;		36200	C  VERTICAL WIGGLE   P10=+ NUM OF THICKNESSES.
52250	      	JRA 16,(16)    
52300		END		;	36300	      END